<%--
  Created by IntelliJ IDEA.
  User: lucky
  Date: 2025/6/13
  Time: 22:55
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<% request.setAttribute("ctx", request.getContextPath()); %>

<!-- 表格封装 -->
<script type="text/javascript">
    // 得到选中的值
    function getSelections() {
        let ids = [];
        $.map($("#table").bootstrapTable("getSelections"), function (row) {
            $(row).each(function (i, o) {
                ids.push(o.id);
            });
        });
        return ids;
    }

    // 操作按钮 - 显示所有
    function query() {
        $("form")[0].reset();
        $('#table').bootstrapTable("refresh", {pageNumber: 1});
    }

    // 操作按钮 - 条件查询
    function like() {
        $('#table').bootstrapTable('refresh', {pageNumber: 1});
    }

    // 操作按钮
    function btnGroup() {
        return (
            '<a href="#" class="btn btn-xs btn-success m-r-5 edit-btn" title="编辑" data-toggle="tooltip"><span class="mdi mdi-pencil"></span>编辑</a>' +
            '<a href="#" class="btn btn-xs btn-danger m-r-5 del-btn confirm" title="删除" data-toggle="tooltip"><span class="mdi mdi-window-close"></span>删除</a>'
        );
    }

    // 操作按钮 - 删除
    function remove(path, id) {
        $.confirm({
            title: '删除',      // 标题
            content: '您确定要将该数据删除吗？',    // 内容
            type: 'red',        // 类型颜色
            icon: 'mdi mdi-close', // 小图标
            typeAnimated: true, // 是否使用动画
            buttons: {          // 按钮
                confirm: {      // 确认按钮
                    text: '确认',
                    btnClass: 'btn-red',
                    action: function () {
                        let loader = $('body').lyearloading({
                            opacity: 0.2,
                            spinnerSize: 'lg',
                            spinnerText: '正在删除中...',
                            textColorClass: 'text-danger',
                            spinnerColorClass: 'text-danger',
                        });
                        setTimeout(function () {
                            $.get("${ctx}/" + path +"/delete", "id=" + id, function (data) {
                                loader.destroy();
                                if (data.code === 200) {
                                    // 刷新表格
                                    $('#table').bootstrapTable("refresh");
                                    notify("mdi mdi-checkbox-marked-circle-outline", data.message, "success");
                                } else {
                                    notify("mdi mdi-close", data.message, "danger");
                                }
                            });

                        }, 1e3);
                    }
                },
                cancel: {   // 取消按钮
                    text: '取消',
                    action: function () {
                    }
                }
            }
        });
    }

    // 操作按钮 - 保存
    function saveOrUpdate(url, obj) {
        let loader = $('body').lyearloading({
            opacity: 0.2,
            spinnerSize: 'lg'
        });
        setTimeout(function () {
            $.post(url, obj, function (data) {
                loader.destroy();
                $("#myModal").modal("hide");
                if (data.code === 200) {
                    // 刷新表格
                    $('#table').bootstrapTable("refresh");
                    notify("mdi mdi-checkbox-marked-circle-outline", data.message, "success");
                } else {
                    notify("mdi mdi-close", data.message, "danger");
                }
            })
        }, 1e3);
    }

    // 操作方法 - 批量删除
    function batchDelete(url) {
        if (getSelections().length > 0) {
            $.confirm({
                title: '批量删除',      // 标题
                content: '您确定要将选中的数据删除吗？',    // 内容
                type: 'red',        // 类型颜色
                icon: 'mdi mdi-delete',   // 小图标
                typeAnimated: true, // 是否使用动画
                buttons: {          // 按钮
                    confirm: {      // 确认按钮
                        text: '确认',
                        btnClass: 'btn-red',
                        action: function () {
                            let loader = $('body').lyearloading({
                                opacity: 0.2,
                                spinnerSize: 'lg',
                                spinnerText: '正在删除中...',
                                textColorClass: 'text-danger',
                                spinnerColorClass: 'text-danger',
                            });
                            setTimeout(function () {
                                $.get("${ctx}/" + url + "/batchDelete", "str=" + getSelections(), function (data) {
                                    loader.destroy();
                                    if (data.code === 200) {
                                        // 刷新表格
                                        $('#table').bootstrapTable("refresh");
                                        notify("mdi mdi-checkbox-marked-circle-outline", data.message, "success");
                                    } else {
                                        notify("mdi mdi-close", data.message, "danger");
                                    }
                                });
                            }, 1e3);
                        }
                    },
                    cancel: {   // 取消按钮
                        text: '取消',
                        action: function () {
                        }
                    }
                }
            });
        } else {
            setTimeout(function () {
                notify("mdi mdi-alert-octagon-outline", "请选择至少一条数据!", "warning");
            }, 300);
        }
    }
</script>